#include "../head/basic_head.h"
#ifndef __TASK_QUEUE__
#define __TASK_QUEUE__

// 任务结构
typedef struct task_s
{
    int net_fd;
    struct task_s *next;
} task_t;

// 任务队列
typedef struct taskQueue_s
{
    task_t *front;
    task_t *rear;
    // 任务队列中的任务数
    int size;
    // 锁
    pthread_mutex_t mutex;
    // 条件变量
    pthread_cond_t cond;
} taskQueue_t;

// 初始化任务队列
int initQueue(taskQueue_t *pqueue);
// 任务入队
int enQueue(taskQueue_t *pqueue, int net_fd);
// 任务出队
int deQueue(taskQueue_t *pqueue);

#endif
